home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / game / patch / WHDIGamesU-Z.lzh / Walker.lha / WalkerHD / Install next >
Text File  |  2002-06-16  |  12KB  |  406 lines

  1. ;****************************
  2.  
  3. (set #sub-dir "data")            ;sub directory containing data files
  4. (set #readme-file "ReadMe")        ;name of readme file
  5. (set #man-file "Instructions")        ;name of manual file
  6. (set #hint-file "Hints")        ;name of hint file
  7. (set #sol-file "Solution")        ;name of solution file
  8. (set #highs-file "Walker.highs")    ;name of high scores file
  9. (set #prefix @app-name)            ;name of slave, directory
  10. (set #last-file "speech.ppp")        ;name of last file to be depacked
  11.  
  12. (set #ico_suffix_00 "inf")        ;Icon suffixes (not all of these must exist)
  13. (set #ico_suffix_01 "magicwb")
  14. (set #ico_suffix_02 "romicon")
  15. (set #ico_suffix_03 "romicon2")
  16. (set #ico_suffix_04 "newicon")
  17. (set #ico_suffix_05 "newicon2")
  18. (set #ico_suffix_06 "newexot")
  19. (set #ico_suffix_07 "colicon")
  20. (set #ico_suffix_08 "colicon2")
  21. (set #ico_suffix_09 "colexot")
  22. (set #ico_suffix_10 "colfrank")
  23. (set #ico_suffix_11 "colfrank2")
  24.  
  25. ;                 "123456789012345678901234567"
  26. (set #ico_desc_00 "Normal")        ;Icon descriptions (max 21 chars if you have > 9 entries, or 27 chars otherwise. These are renamed to "gamename.info" so no illegal characters like :/* etc)
  27. (set #ico_desc_01 "MagicWB Icon")
  28. (set #ico_desc_02 "RomIcon")
  29. (set #ico_desc_03 "RomIcon Ingame")
  30. (set #ico_desc_04 "NewIcon")
  31. (set #ico_desc_05 "NewIcon Ingame")
  32. (set #ico_desc_06 "NewIcon by Exotica")
  33. (set #ico_desc_07 "OS3.5")
  34. (set #ico_desc_08 "OS3.5 Ingame")
  35. (set #ico_desc_09 "OS3.5 by Exotica")
  36. (set #ico_desc_10 "OS3.5 by Frank")
  37. (set #ico_desc_11 "OS3.5 alt by Frank")
  38.  
  39. (procedure P_Install
  40.   (set #AD_disk "Walker_1")
  41.   (P_disk)
  42.   (copyfiles
  43.     (help @copyfiles-help)
  44.     (source ("%s:" #AD_disk))
  45.     (dest #dest)
  46.     (pattern "#?")
  47.     (files)
  48.   )
  49.   (copyfiles
  50.     (help @copyfiles-help)
  51.     (source ("%s:game/" #AD_disk))
  52.     (dest #dest)
  53.     (all)
  54.   )
  55.   (set #AD_disk "Walker_2")
  56.   (P_disk)
  57.   (copyfiles
  58.     (help @copyfiles-help)
  59.     (source ("%s:" #AD_disk))
  60.     (dest #dest)
  61.     (pattern "#?")
  62.     (files)
  63.   )
  64.   (copyfiles
  65.     (help @copyfiles-help)
  66.     (source ("%s:nwlev2/" #AD_disk))
  67.     (dest #dest)
  68.     (all)
  69.   )
  70.   (copyfiles
  71.     (help @copyfiles-help)
  72.     (source ("%s:nwlev3/" #AD_disk))
  73.     (dest #dest)
  74.     (all)
  75.   )
  76.   (copyfiles
  77.     (help @copyfiles-help)
  78.     (source ("%s:nwlev4/" #AD_disk))
  79.     (dest #dest)
  80.     (all)
  81.   )
  82.   (set #AD_disk "Walker_3")
  83.   (P_disk)
  84.   (copyfiles
  85.     (help @copyfiles-help)
  86.     (source ("%s:" #AD_disk))
  87.     (dest #dest)
  88.     (pattern "#?")
  89.     (files)
  90.   )
  91.   (copyfiles
  92.     (help @copyfiles-help)
  93.     (source ("%s:game" #AD_disk))
  94.     (dest #dest)
  95.     (all)
  96.   )
  97.   (copyfiles
  98.     (help @copyfiles-help)
  99.     (source ("%s:nwlev1" #AD_disk))
  100.     (dest #dest)
  101.     (all)
  102.   )
  103. )
  104.  
  105. ;****************************
  106. ;----------------------------
  107. ; checks if given program is installed, if not abort install
  108. ; #program - to check
  109.  
  110. (procedure P_ChkRun
  111.   (if (= 0 (run ("cd SYS:\nWhich %s >NIL:" #program)))
  112.     ("")
  113.     (abort
  114.       (cat
  115.     "You must install \"" #program "\" first!\n"
  116.     "It must be accessible via the path.\n"
  117.     "You can find it in the WHDLoad package."
  118.       )
  119.     )
  120.   )
  121. )
  122.  
  123. ;----------------------------
  124. ; Wait for inserting disk
  125. ; IN:  #AD_disk - name of disk
  126. ; OUT: -
  127.  
  128. (procedure P_disk
  129.   (askdisk
  130.     (dest #AD_disk)
  131.     (prompt ("\nInsert Disk \"%s\" in any drive!" #AD_disk))
  132.     (help @askdisk-help)
  133.   )
  134. )
  135.  
  136. ;----------------------------
  137. ; copy file including icon if exist
  138. ; #copy-file - name of file to copy
  139.  
  140. (procedure P_CopyFile
  141.   (if (exists #copy-file) (
  142.     (copyfiles
  143.       (help @copyfiles-help)
  144.       (source #copy-file)
  145.       (dest #dest)
  146.     )
  147.     (if (exists ("%s.info" #copy-file)) (
  148.       (copyfiles
  149.         (help @copyfiles-help)
  150.         (source ("%s.info" #copy-file))
  151.         (dest #dest)
  152.       )
  153.       (tooltype
  154.         (dest (tackon #dest #copy-file))
  155.         (noposition)
  156.       )
  157.     ))
  158.   ))
  159. )
  160.  
  161. ;****************************
  162.  
  163. (if (< @installer-version (+ (* 44 65536) 10))
  164.   (
  165.     (message
  166.       (cat
  167.         "Warning: your installer is outdated.\n"
  168.         "Some features of this installation won't be available, "
  169.         "such as icon show and drawer opening. "
  170.         "You have version " (/ @installer-version 65536) "." 
  171.         (BITAND @installer-version 65535) ", recommended is version 44.10. "
  172.         "The 'installer' 44.10 comes with OS 3.5 but is also contained in the NDK 3.9. "
  173.         "You may also use the InstallerNG by Jens Tröger."
  174.         "\n\n"
  175.         "The installers can be obtained from the net:\n"
  176.         "http://www.amiga.com/3.9/download/NDK3.9.lha\n"
  177.         "aminet:util/sys/InstallerNG.lha"
  178.       )
  179.     )
  180.     (set #newstuff 0)
  181.   )
  182.   (set #newstuff 1)
  183. )
  184.  
  185. (if (exists #readme-file)
  186.   (if (= 0 (run ("SYS:Utilities/Multiview %s" #readme-file)))
  187.     ("")
  188.     (run ("SYS:Utilities/More %s" #readme-file))
  189.   )
  190. )
  191.  
  192. (set #program "WHDLoad")
  193. (P_ChkRun)
  194.  
  195. (if (getenv "WHDLInstPath")
  196.   (set @default-dest (getenv "WHDLInstPath"))
  197. )
  198. (set #dest
  199.   (askdir
  200.     (prompt
  201.       (cat
  202.     "Where should \"" @app-name "\" be installed?\n"
  203.     "A drawer \"" #prefix "\" will be automatically created."
  204.       )
  205.     )
  206.     (help @askdir-help)
  207.     (default @default-dest)
  208.   )
  209. )
  210. (run ("setenv WHDLInstPath \"%s\"\ncopy ENV:WHDLInstPath ENVARC:" #dest))
  211. (set #dest (tackon #dest #prefix))
  212. (if (exists #dest) (
  213.   (set #choice
  214.     (askbool
  215.       (prompt
  216.         (cat
  217.           "\nDirectory \"" #dest "\" already exists.\n"
  218.           "Should it be deleted?"
  219.         )
  220.       )
  221.       (default 1)
  222.       (choices "Delete" "Skip")
  223.       (help @askbool-help)
  224.     )
  225.   )
  226.   (if (= #choice 1)
  227.     (delete #dest
  228.       (help @delete-help)
  229.       (all)
  230.     )
  231.   )
  232. ))
  233. (makedir #dest
  234.   (help @makedir-help)
  235.   (infos)
  236. )
  237.  
  238. ;----------------------------
  239.  
  240. (copyfiles
  241.   (help @copyfiles-help)
  242.   (source ("%s.Slave" #prefix))
  243.   (dest #dest)
  244. )
  245. (copyfiles
  246.   (help @copyfiles-help)
  247.   (source ("%sNoSpeech.Slave" #prefix))
  248.   (dest #dest)
  249. )
  250. (copyfiles
  251.   (help @copyfiles-help)
  252.   (source ("%sDecrunch.Slave" #prefix))
  253.   (dest #dest)
  254. )
  255. (set #icon 0)
  256. (if (exists ("%s.%s" #prefix #ico_suffix_11)) ((set #icon 11)(set #icnt (+ 1 #icnt))(set #icon_11 #ico_desc_11)) (set #icon_11 ""))
  257. (if (exists ("%s.%s" #prefix #ico_suffix_10)) ((set #icon 10)(set #icnt (+ 1 #icnt))(set #icon_10 #ico_desc_10)) (set #icon_10 ""))
  258. (if (exists ("%s.%s" #prefix #ico_suffix_09)) ((set #icon 9) (set #icnt (+ 1 #icnt))(set #icon_09 #ico_desc_09)) (set #icon_09 ""))
  259. (if (exists ("%s.%s" #prefix #ico_suffix_08)) ((set #icon 8) (set #icnt (+ 1 #icnt))(set #icon_08 #ico_desc_08)) (set #icon_08 ""))
  260. (if (exists ("%s.%s" #prefix #ico_suffix_07)) ((set #icon 7) (set #icnt (+ 1 #icnt))(set #icon_07 #ico_desc_07)) (set #icon_07 ""))
  261. (if (exists ("%s.%s" #prefix #ico_suffix_06)) ((set #icon 6) (set #icnt (+ 1 #icnt))(set #icon_06 #ico_desc_06)) (set #icon_06 ""))
  262. (if (exists ("%s.%s" #prefix #ico_suffix_05)) ((set #icon 5) (set #icnt (+ 1 #icnt))(set #icon_05 #ico_desc_05)) (set #icon_05 ""))
  263. (if (exists ("%s.%s" #prefix #ico_suffix_04)) ((set #icon 4) (set #icnt (+ 1 #icnt))(set #icon_04 #ico_desc_04)) (set #icon_04 ""))
  264. (if (exists ("%s.%s" #prefix #ico_suffix_03)) ((set #icon 3) (set #icnt (+ 1 #icnt))(set #icon_03 #ico_desc_03)) (set #icon_03 ""))
  265. (if (exists ("%s.%s" #prefix #ico_suffix_02)) ((set #icon 2) (set #icnt (+ 1 #icnt))(set #icon_02 #ico_desc_02)) (set #icon_02 ""))
  266. (if (exists ("%s.%s" #prefix #ico_suffix_01)) ((set #icon 1) (set #icnt (+ 1 #icnt))(set #icon_01 #ico_desc_01)) (set #icon_01 ""))
  267. (if (exists ("%s.%s" #prefix #ico_suffix_00)) ((set #icon 0) (set #icnt (+ 1 #icnt))(set #icon_00 #ico_desc_00)) (set #icon_00 ""))
  268. (procedure P_Icon
  269.   (copyfiles
  270.     (help @copyfiles-help)
  271.     (source ("%s.%s" #prefix #icon-suf))
  272.     (newname ("%s.info" #icon-name))
  273.     (dest #icon-dir)
  274.   )
  275.   (tooltype
  276.     (dest (tackon #icon-dir #icon-name))
  277.     (noposition)
  278.   )
  279. )
  280. (if (> #icnt 1) (
  281.   (if (= #newstuff 1) (
  282.     (set #icon-dir ("T:%s Icons" #prefix))
  283.     (makedir #icon-dir
  284.       (help @makedir-help)
  285.     )
  286.     (if #icon_00 ((set #icon-suf #ico_suffix_00) (set #icon-name #ico_desc_00) (P_Icon)))
  287.     (if #icon_01 ((set #icon-suf #ico_suffix_01) (set #icon-name #ico_desc_01) (P_Icon)))
  288.     (if #icon_02 ((set #icon-suf #ico_suffix_02) (set #icon-name #ico_desc_02) (P_Icon)))
  289.     (if #icon_03 ((set #icon-suf #ico_suffix_03) (set #icon-name #ico_desc_03) (P_Icon)))
  290.     (if #icon_04 ((set #icon-suf #ico_suffix_04) (set #icon-name #ico_desc_04) (P_Icon)))
  291.     (if #icon_05 ((set #icon-suf #ico_suffix_05) (set #icon-name #ico_desc_05) (P_Icon)))
  292.     (if #icon_06 ((set #icon-suf #ico_suffix_06) (set #icon-name #ico_desc_06) (P_Icon)))
  293.     (if #icon_07 ((set #icon-suf #ico_suffix_07) (set #icon-name #ico_desc_07) (P_Icon)))
  294.     (if #icon_08 ((set #icon-suf #ico_suffix_08) (set #icon-name #ico_desc_08) (P_Icon)))
  295.     (if #icon_09 ((set #icon-suf #ico_suffix_09) (set #icon-name #ico_desc_09) (P_Icon)))
  296.     (if #icon_10 ((set #icon-suf #ico_suffix_10) (set #icon-name #ico_desc_10) (P_Icon)))
  297.     (if #icon_11 ((set #icon-suf #ico_suffix_11) (set #icon-name #ico_desc_11) (P_Icon)))
  298.     (openwbobject #icon-dir)
  299.   ))
  300.   (set #icon
  301.     (askchoice
  302.       (prompt "\nWhich icon would you like to install?\n")
  303.       (choices #icon_00 #icon_01 #icon_02 #icon_03 #icon_04 #icon_05 #icon_06 #icon_07 #icon_08 #icon_09 #icon_10 #icon_11)
  304.       (default #icon)
  305.       (help @askchoice-help)
  306.     )
  307.   )
  308.   (if (= #newstuff 1) (
  309.     (closewbobject #icon-dir)
  310.     (delete #icon-dir
  311.       (help @delete-help)
  312.       (all)
  313.     )
  314.   ))
  315. ))
  316. (select #icon
  317.   (set #icon #ico_suffix_00)
  318.   (set #icon #ico_suffix_01)
  319.   (set #icon #ico_suffix_02)
  320.   (set #icon #ico_suffix_03)
  321.   (set #icon #ico_suffix_04)
  322.   (set #icon #ico_suffix_05)
  323.   (set #icon #ico_suffix_06)
  324.   (set #icon #ico_suffix_07)
  325.   (set #icon #ico_suffix_08)
  326.   (set #icon #ico_suffix_09)
  327.   (set #icon #ico_suffix_10)
  328.   (set #icon #ico_suffix_11)
  329. )
  330. (copyfiles
  331.   (help @copyfiles-help)
  332.   (source ("%s.%s" #prefix #icon))
  333.   (newname ("%s.info" #prefix))
  334.   (dest #dest)
  335. )
  336. (tooltype
  337.   (dest (tackon #dest #prefix))
  338.   (setdefaulttool "WHDLoad")
  339.   (settooltype "Slave" ("%s.Slave" #prefix))
  340.   (setstack 10240)
  341.   (noposition)
  342. )
  343. (copyfiles
  344.   (help @copyfiles-help)
  345.   (source ("%s.%s" #prefix #icon))
  346.   (newname ("%sNoSpeech.info" #prefix))
  347.   (dest #dest)
  348. )
  349. (tooltype
  350.   (dest (tackon #dest ("%s%s" #prefix "NoSpeech")))
  351.   (setdefaulttool "WHDLoad")
  352.   (settooltype "Slave" ("%sNoSpeech.Slave" #prefix))
  353.   (setstack 10240)
  354.   (noposition)
  355. )
  356. (set #copy-file #readme-file)
  357. (P_CopyFile)
  358. (set #copy-file #man-file)
  359. (P_CopyFile)
  360. (set #copy-file #hint-file)
  361. (P_CopyFile)
  362. (set #copy-file #sol-file)
  363. (P_CopyFile)
  364. (set #dest-org #dest)
  365. (if (= #sub-dir "")
  366.   ("")
  367.   (
  368.     (set #dest (tackon #dest #sub-dir))
  369.     (makedir #dest
  370.       (help @makedir-help)
  371.     )
  372.   )
  373. )
  374. (set #copy-file #highs-file)
  375. (P_CopyFile)
  376. (P_Install)
  377.  
  378. ;----------------------------
  379.  
  380. (set #depack
  381.   (askchoice
  382.     (prompt "\nWould you like to depack all the files so the\ngame loads much more quickly? You will need\n4.5Mb memory just to preload the images and\nobviously 4.5Mb of free disk space aswell.\n")
  383.     (default 0)
  384.     (choices "No, leave the files crunched!" "Yes, decrunch them for maximum speed!")
  385.     (help @askchoice-help)
  386.   )
  387. )
  388.  
  389. (if (= #depack 1)
  390.   (
  391.     (working "Calling WHDLoad to depack the files...")
  392.     (run ("CD \"%s\"\nWHDLoad SLAVE=%sDecrunch.slave PRELOAD CACHE\n" #dest-org #prefix))
  393.     (if (= 268470 (getsize (tackon #dest #last-file)))
  394.       ("")
  395.       (message "Decrunching was not successful!\nWHDLoad was unable to decrunch all files!\n\nHowever, the game should still run OK as\ndecompression is optional.\n\n")
  396.     )
  397.   )
  398. )
  399.  
  400. ;----------------------------
  401.  
  402. (if (= #newstuff 1)
  403.   (openwbobject #dest-org)
  404. )
  405. (exit)
  406.